package br.com.dextra.dextranet.microblog; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import org.junit.Test; import br.com.dextra.dextranet.usuario.Usuario; import com.google.gson.JsonArray; import com.googlecode.mycontainer.commons.util.JsonUtil; public class MicroBlogRSTest { public List<MicroPost> microPosts = new ArrayList<MicroPost>(); @Test public void testSimplePost() { MicroBlogRS rs = getMicroBlogRS(); rs.post("micromessage"); JsonArray json = JsonUtil.parse((String) rs.get().getEntity()).getAsJsonArray(); assertEquals(1, json.size()); assertEquals("micromessage", json.get(0).getAsJsonObject().get("texto").getAsString()); assertEquals("autor", json.get(0).getAsJsonObject().get("autor").getAsString()); } private MicroBlogRS getMicroBlogRS() { return new MicroBlogRS() { @Override protected Usuario obtemUsuarioLogado() { return new Usuario("autor"); } @Override protected MicroBlogRepository getMicroBlogRepository() { return new MicroBlogRepository() { @Override public List<MicroPost> buscarMicroPosts() { return microPosts; } @Override public void salvar(MicroPost micropost) { microPosts.add(micropost); } }; } }; } @Test public void testTwoPosts() { MicroBlogRS rs = getMicroBlogRS(); rs.post("micromessage1"); rs.post("micromessage2"); JsonArray json = JsonUtil.parse((String) rs.get().getEntity()).getAsJsonArray(); assertEquals(2, json.size()); assertEquals("micromessage1", json.get(0).getAsJsonObject().get("texto").getAsString()); assertEquals("micromessage2", json.get(1).getAsJsonObject().get("texto").getAsString()); } }